# 1、导入包
from pyspark import SparkConf, SparkContext

#=============选择win系统python环境   配置临时系统环境==========================
import os
# 这里可以选择本地PySpark环境执行Spark代码，也可以使用虚拟机中PySpark环境，通过os可以配置
PYSPARK_PYTHON = "E:\Anaconda3\envs\pyspark\python.exe"
# 当存在多个版本时，不指定很可能会导致出错
os.environ["PYSPARK_PYTHON"] = PYSPARK_PYTHON
#======================================
# 2、配置sparkConf对象
conf = SparkConf().setMaster("local[*]").setAppName('hello_jk213')
# 3、通过Sparkconf对象 去构造SparkContext对象
sc = SparkContext(conf=conf)

#要求 单词统计   words.txt文本

#1、读取words.txt文件
file_rdd = sc.textFile("words.txt")
#2、对文件里的单词按空格进行切割
split_word = file_rdd.flatMap(lambda line:line.split(" "))
print(split_word.collect())

# #3、把结果转换成元组
wordRDD_1 = split_word.map(lambda x:(x,1))

# #4、统计单词
result_RDD = wordRDD_1.reduceByKey(lambda a,b:a+b)
# #5、通过collect方法收集RDD的数据打印输出结果
print(result_RDD.collect())